Propagation = Lazy Clause Generation
نویسندگان
چکیده
Finite domain propagation solvers effectively represent the possible values of variables by a set of choices which can be naturally modelled as Boolean variables. In this paper we describe how we can mimic a finite domain propagation engine, by mapping propagators into clauses in a SAT solver. This immediately results in strong nogoods for finite domain propagation. But a naive static translation is impractical except in limited cases. We show how we can convert propagators to lazy clause generators for a SAT solver. The resulting system can solve scheduling problems significantly faster than generating the clauses from scratch, or using Satisfiability Modulo Theories solvers with difference logic.
منابع مشابه
Lazy Clause Generation Reengineered
Lazy clause generation is a powerful hybrid approach to combinatorial optimization that combines features from SAT solving and finite domain (FD) propagation. In lazy clause generation finite domain propagators are considered as clause generators that create a SAT description of their behaviour for a SAT solver. The ability of the SAT solver to explain and record failure and perform conflict di...
متن کاملModelling for Lazy Clause Generation
Lazy clause generation is a hybrid SAT and finite domain propagation solver that tries to combine the advantages of both: succinct modelling using finite domains and powerful nogoods and backjumping search using SAT technology. It has been shown that it can solve hard scheduling problems significantly faster than SAT or standard finite domain propagation alone. This new hybrid opens up many cho...
متن کاملSemantic Learning for Lazy Clause Generation
Lazy clause generation (LCG) combines finite domain (FD) propagation with features from Boolean satisfiability (SAT) solving, notably clause learning. In a LCG solver, finite domain propagators are considered as clause generators that create a SAT description of their behavior for a SAT solver, using some Boolean encoding of the variable domains. When a conflict is triggered by unit propagation...
متن کاملCLP Entailment as Lazy Clause Generation
In this paper we present an algorithm for deciding entailment G |= H of properties G and H defined using Constraint Logic Programming (CLP). The algorithm is based on Satisfiability Modulo Theories (SMT) over a theory derived from the CLP program. The implementation is based on lazy clause generation. Existing methods for discharging such entailments rely on applying a set of proof rules (such ...
متن کاملExplaining alldifferent
Lazy clause generation is a powerful approach to reducing search in constraint programming. For use in a lazy clause generation solver, global constraints must be extended to explain themselves. Alternatively they can be decomposed into simpler constraints which already have explanation capability. In this paper we examine different propagation mechanisms for the alldifferent constraint, and sh...
متن کامل